home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / pdcurs21.zip / PRIVATE.ZIP / _SANITY.C < prev    next >
Text File  |  1992-11-21  |  3KB  |  113 lines

  1. #define        CURSES_LIBRARY  1
  2. #include <curses.h>
  3.  
  4. #ifndef        NDEBUG
  5. char *rcsid__sanity = "$Header: c:/curses/private/RCS/_sanity.c%v 2.0 1992/11/15 03:24:32 MH Rel $";
  6. #endif
  7.  
  8.  
  9.  
  10.  
  11. /*man-start*********************************************************************
  12.  
  13.   PDC_sanity_check() - A video adapter identification sanity check
  14.  
  15.   PDCurses Description:
  16.        This is a private PDCurses routine.
  17.  
  18.        This routine will force sane values for various control flags.
  19.  
  20.   PDCurses Return Value:
  21.        This function returns OK on success and ERR on error.
  22.  
  23.   PDCurses Errors:
  24.        No errors are defined for this function.
  25.  
  26.   Portability:
  27.        PDCurses        int PDC_sanity_check( int adapter );
  28.  
  29. **man-end**********************************************************************/
  30.  
  31. int    PDC_sanity_check(int adapter)
  32. {
  33.        int     fontsize = PDC_get_font();
  34.        int     rows     = PDC_get_rows();
  35.  
  36.        switch (adapter)
  37.        {
  38.        case _EGACOLOR:
  39.        case _EGAMONO:
  40.                switch (rows)
  41.                {
  42.                case 25:        break;
  43.                case 43:        break;
  44.                default:
  45.                        _cursvar.bogus_adapter = TRUE;
  46.                        break;
  47.                }
  48.  
  49.                switch (fontsize)
  50.                {
  51.                case _FONT8:    break;
  52.                case _FONT14:   break;
  53.                default:
  54.                        _cursvar.bogus_adapter = TRUE;
  55.                        break;
  56.                }
  57.                break;
  58.  
  59.        case _VGACOLOR:
  60.        case _VGAMONO:
  61.  
  62. /*                                                                  */
  63. /* lets be reasonably flexible with VGAs - they could be Super VGAs */
  64. /* capable of displaying any number of lines. MH 10-Jun-92          */
  65. /* This also applies to font size.            MH 16-Jun-92          */
  66. /*
  67.                switch (rows)
  68.                {
  69.                case 25:        break;
  70.                case 43:        break;
  71.                case 50:        break;
  72.                default:
  73.                        _cursvar.bogus_adapter = TRUE;
  74.                        break;
  75.                }
  76.  
  77.                switch (fontsize)
  78.                {
  79.                case _FONT8:    break;
  80.                case _FONT14:   break;
  81.                case _FONT16:   break;
  82.                default:
  83.                        _cursvar.bogus_adapter = TRUE;
  84.                        break;
  85.                }
  86. */
  87.                break;
  88.  
  89.        case _CGA:
  90.        case _MDA:
  91.        case _MCGACOLOR:
  92.        case _MCGAMONO:
  93.                switch (rows)
  94.                {
  95.                case 25:        break;
  96.                default:
  97.                        _cursvar.bogus_adapter = TRUE;
  98.                        break;
  99.                }
  100.                break;
  101.  
  102.        default:
  103.                _cursvar.bogus_adapter = TRUE;
  104.                break;
  105.        }
  106.        if (_cursvar.bogus_adapter)
  107.        {
  108.                _cursvar.sizeable       = FALSE;
  109.                _cursvar.direct_video   = FALSE;
  110.        }
  111.        return (adapter);
  112. }
  113.